home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Infinity Windoid 3.0 / Version History < prev    next >
Text File  |  1995-02-20  |  8KB  |  239 lines

  1. V E R S I O N   H I S T O R Y
  2. -----------------------------
  3. by Troy Gaul
  4. Infinity Systems
  5. February 95
  6.  
  7.  
  8. Version 3.0: (February 95)
  9.  
  10.  • Added a new variation that makes the Infinity Windoid act exactly
  11.    like the System 7.5 floating window WDEF (ID 125).
  12.  
  13.  • Added a compiler option to make the variation codes the same as
  14.    those used by the 7.5 floater WDEF. (This is separate from the
  15.    appearance of the WDEF.)  The default WDEF is now built this way.
  16.  
  17.  • Added a compiler option to make the appearance of the WDEF be the
  18.    same as the 7.5 floater WDEF. (This is separate from the meanings 
  19.    of the variation codes.)
  20.     
  21.  • Changed my address information (both e-mail and US mail) to reflect
  22.    my new location.
  23.  
  24.  • Since Metrowerks DR3 and later support building PowerPC code resources, 
  25.    created a project file for those compilers.
  26.  
  27.  • When the structure region was hit (but the cursor was not in the content
  28.    region), a return code of wNoHit was being returned when it should have
  29.    been a wInContent (this has been wrong for quite a while).
  30.  
  31.  • Made the WDEF use NewHandleClear instead of NewHandle so that the
  32.    Rects for zooming would be zeroed like the System WDEF's are when
  33.    there is no zoom box.
  34.  
  35.  • Titlebar string drawing routine will only allocate regions for clipping
  36.    the drawing when they are needed (i.e. when there is actually text to
  37.    draw).
  38.  
  39.  • Can now be compiled only with the Universal Headers.
  40.  
  41.  • When compiling for PowerPC, the drawing routines no longer allocate
  42.    a small amount of temporary memory in the heap each time they are
  43.    called.  They now use a RoutineDescriptor on the stack instead.
  44.  
  45.  • A few compiler options have been removed to simplify the code.
  46.  
  47.  • Removed support for colorization with System 6 (System 6 is still
  48.    supported in black-and-white, the most common case).  Also, removed
  49.    most of OurDeviceLoop which is no longer needed because of this.
  50.  
  51.  • Code formatting changed (including renaming of compiler flags).
  52.  
  53.  • Reorganized drawing code for easier reading and modification.
  54.  
  55.  • Uses enums in place of most #defines.
  56.  
  57.  • Routines pass as few paramaters around as possible.
  58.  
  59.  
  60. Version 2.6: (March 94)
  61.  
  62.  • Fixed a problem with compiling under Metrowerks Code Warrior which
  63.    caused mixed colors to be calculated incorrectly. Started including
  64.    a Code Warrior project file for compiling the WDEF.
  65.  
  66.  • Added a one-pixel slop to the hit testing on the titlebar gadgets to
  67.    make them easier to hit.
  68.  
  69.  • The appearance of the titlebar when dimmed with a custom window color
  70.    table now matches that of the System WDEF.  A handful of other changes
  71.    were also made to the code to make the appearance with custom wctb's
  72.    approximate that of the System WDEF.
  73.  
  74.  • Made the titlebar revert to black-and-white on those PowerBooks in which
  75.    this is necessary to make the appearance match that of the Apple WDEF.
  76.  
  77.  • Added an option to have the zoom box be positioned so that it always
  78.    hits the pattern the same way as the close box.
  79.  
  80.  • Added an option to make a small version of the grow box
  81.  
  82.  • Now uses UniversalProcPtrs to support PowerPC
  83.  
  84.  • MPW Makefile now has support for making a fat binary version of the 
  85.    Infinity Windoid WDEF (provided you have the Apple tools for doing so).
  86.    Support for this was derived from the article about Standalone Code on 
  87.    PowerPC in Develop issue 17; help provided by Aaron Giles.
  88.     
  89.    To compile one of these versions of the WDEF, use one of the following:
  90.       buildprogram "Infinity Windoid/Fat"
  91.       buildprogram "Infinity Windoid/PPC"
  92.  
  93.  
  94. Version 2.5.1: (January 94)
  95.  
  96.  • Fixed a bug that would cause the titlebar to be 'transparent' very
  97.    occasionally when the WDEF was compiled with THINK C.
  98.  
  99.  • Fixed a bug where the grow box wouldn't be drawn inside a window that
  100.    had a color GrafPort.
  101.  
  102.  
  103. Version 2.5: (January 94)
  104.  
  105.  • Support for System 6 color windows (using Kolor or a similar Control
  106.    Panel device.
  107.  
  108.  • Source code was split between two files with a header file, 
  109.    WindoidDefines.h defining the options, constants, and structures 
  110.    used in the WDEF
  111.  
  112.  • Added a variation of the titlebar that is two pixels taller and has
  113.    tinges on the edges. This titlebar style looks better with a title
  114.    string and/or with a grow box than the old style.
  115.  
  116.  • Added option to build a windoid with a title string in the titlebar.
  117.    (Although I personally do not like this, as it makes the windoid look
  118.    too much like a document window, it has been often requested.)
  119.  
  120.  • Put in OurDeviceLoop routine. This implements a DeviceLoop on System 6
  121.    machines with Color QuickDraw. Simplifies code in the two drawing
  122.    routines.
  123.  
  124.  • Didn't need to set the port away from the Window Manager port all
  125.    the times I had been.
  126.  
  127.  • Added code to handle a grow box. (Provided by Jim Petrick, modifications 
  128.    by me to work with old black-and-white ports on color monitors and to use
  129.    DeviceLoop)
  130.  
  131.  • Fixed a problem with window color tables that did not have as many
  132.    entries as the windoid expected. (Fix provided by Jim Petrick.)
  133.  
  134.  • Made a few simplification changes inspired by code from Jim Petrick.
  135.  
  136.  
  137. Version 2.3: (June 93)
  138.  
  139.  • Now calculates correctly whether to do the System 7 shading on a 
  140.    display with less than 8 bits that is set to color mode.
  141.     
  142.  • When drawing the titlebar background, will no longer draw over the
  143.    top of the gadgets, causing them to flash.
  144.  
  145.  • Zoom code no longer is always specific to MicroFrontier products. Now, 
  146.    zoomed in/out state can be fully controlled by application
  147.    (this can be done by setting the usrState and stdState as is
  148.    described in Inside Macintosh).
  149.     
  150.  • Added a header file for application use, to simplify incorporation.
  151.  
  152.  • Synchronizes the color window manager port to the black-and-white
  153.    one. Useful for WDrawGIcon message, safer.
  154.  
  155.  • Uses different, simpler logic for creating the properly aligned
  156.    pattern for titlebar (from Mac Prog. Secrets)
  157.  
  158.  • Now gets the aux. window record for colors from the window being
  159.    considered rather than just getting the default one.
  160.  
  161.  • Changed formatting to conform to my changed style used in other code.
  162.  
  163.  • Put in dummy routines for handling the grow box.
  164.  
  165.  • Got rid of some unneeded temporary variables from the CalcWRgn
  166.    selector routine.
  167.  
  168.  • Changed the zoom-handling code to use the spareFlag as a flag
  169.    telling whether there's a zoom box, as per a suggestion in _Inside 
  170.    Macintosh: Toolbox Essentials_.
  171.  
  172.  • Fixed a bug where, if a window didn't have a close box, the
  173.    windoid would still send the application a hit in the close box
  174.    if that area of the titlebar was clicked.
  175.  
  176.  
  177. Version 2.2: (March 93)
  178.  
  179.  • First publicly distributed version.
  180.  
  181.  • Extensive comments added to facilitate understanding and
  182.    modification by others.
  183.  
  184.  • Added support for MacApp-style varcodes.
  185.  
  186.  • Bug in way inColor was determined (needed to do a bit-shift
  187.    before anding with gdFlags) fixed.
  188.  
  189.  • Removed StuffHex of strings used for title bar pattern, now
  190.    calculates these values.
  191.  
  192.  • Fixed bug in logic of how MixColor was calculating the mixture.
  193.  
  194.  • Support for compilation in THINK C 5.0.
  195.  
  196.  • Added way to build so the window are always hilighted
  197.  
  198.  
  199. Version 2.1: (November 92)
  200.  
  201.  • Reduced code size by making sure no extra code was being linked
  202.    by MPW.
  203.  
  204.  • Removed use of Gestalt for code size reasons.
  205.  
  206.  • Ended the use of function pointers since no advantage was being
  207.    gained by their use.
  208.  
  209.  • Added support for determining if enough different colors were
  210.    available to do System 7-style color like Apple's does.
  211.  
  212.  
  213. Version 2.0: (January 92)
  214.  
  215.  • Rewritten in C.
  216.  
  217.  • Conditional compilation of some features to facilitate a 
  218.    reduced-size version and one that could be distributed.
  219.  
  220.  
  221. Version 1.2: (June 91)
  222.  
  223.  • System 6 color support added. This feature was suggested by
  224.    Richard R. Harms.
  225.  
  226.  • DeviceLoop support added. (Thanks, MacDTS.)
  227.  
  228.  
  229. Version 1.1: (May 91)
  230.  
  231.  • Support for System 7-style color titlebars.
  232.  
  233.  
  234. Version 1.0: (May 91)
  235.  
  236.  • Original version, written in Pascal and based on original
  237.    assembly language, black-and-white windoid WDEF used in
  238.    MicroFrontier products, which was written by Tom Pinkerton.
  239.